<?php

/**
 * proveedores actions.
 *
 * @package    mediatica
 * @subpackage proveedores
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class proveedoresActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
  public function executeListProveedor(sfWebRequest $request)
  {
       $servicioProveedor = new proveedorClass();
       $razonSocial = $request->getParameter('txtRazonSocial', "");
       $ruc         = $request->getParameter('txtRuc', "");
       $telefono    = $request->getParameter('txtTelefono', "");
       $estado      = $request->getParameter('cboEstado', "");

       $criteria        = $servicioProveedor->listadoProveedores($razonSocial, $ruc, $telefono,$estado);

       $pager = new sfPropelPager('Proveedor', 15);/*de cuanto en cuanto*/
       $pager->setPage($request->getParameter('page', 1));/*en paguina comienza*/
       $pager->setCriteria($criteria);
       $pager->init();

       $maxpag=$pager->getMaxPerPage();
       $pagina=$request->getParameter('page',1);

       $this->razonSocial = $razonSocial;
       $this->ruc         = $ruc;
       $this->telefono    = $telefono;
       $this->estado      = $estado;

       $this->max=$maxpag;
       $this->pagina=$pagina;
       $this->pager = $pager;


    }

  public function executeAgregarMedios(sfWebRequest $request)
  {
    $nombreSession= $request->getParameter('nombreSession',"s_agregarMedios");
    $servicioProveedores= new proveedorClass();
    $arrayParametro= array(

        "nombreMedios"=>$request->getParameter("nombreMedios"),
    );



    $servicioProveedores->agregarMedios($nombreSession,$arrayParametro);
    $this->nombreSession=$nombreSession;

  }

  public function  executeAgregarEscalaProveedores(sfWebRequest $request){


      $nombreSession     =  $request->getParameter('sessionName',"s_sesionEscala");
      $servicioProveedores= new proveedorClass();
      $arrayParametro = array(
                                "primeraescala"=>$request->getParameter("escala1"),
                                "segundaescala"=>$request->getParameter("escala2"),
                                "porcentajeescala"=>$request->getParameter("porcentaj1"),
      );
     
     $servicioProveedores->agregarEscalaProveedores($nombreSession, $arrayParametro);
     $this->nombreSession=$nombreSession;

  }
  
  public function  executeAgregarInformacionBancariaExtranjera(sfWebRequest $request)
  {

      $nombreSession =$request->getParameter('sessionName',"s_sessionCuentaBancariaExtranjera");
      $servicioProveedores= new proveedorClass();
      $arrayParametro= array(

                "nombrebeneficiario"=>$request->getParameter("nombrebeneficiario"),
                "cuentabeneficiario"=>$request->getParameter("cuentabeneficiario"),
                "swif"=>$request->getParameter("swif"),
                "abba"=>$request->getParameter("abba"),
                "telefonobancoextranjero"=>$request->getParameter("telefonobancoextranjero"),
                "paisbancoextranjero"=>$request->getParameter("paisbancoextranjero"),
                "direccionbancoe"=>$request->getParameter("direccionbancoe"),
                "nombrebancointermediario"=>$request->getParameter("nombrebancointermediario"),
                "cuentabancointermediario"=>$request->getParameter("cuentabancointermediario"),
                "paisbancointermediario"=>$request->getParameter("paisbancointermediario"),

      );

      $servicioProveedores->agregarInformacionBancariaExtranjera($nombreSession,$arrayParametro);
      $this->nombreSession=$nombreSession;
  }
    
  public function  executeEditarInformacionBancariaExtranjera(sfWebRequest $request)
  {

      $nombreSession =$request->getParameter('sessionName',"s_sessionCuentaBancariaExtranjera");
      $servicioProveedores= new proveedorClass();
      $arrayParametro= array(
                "idDetalle" => $request->getParameter("idDetalle"),
                "nombrebeneficiario"=>$request->getParameter("nombrebeneficiario"),
                "cuentabeneficiario"=>$request->getParameter("cuentabeneficiario"),
                "swif"=>$request->getParameter("swif"),
                "abba"=>$request->getParameter("abba"),
                "telefonobancoextranjero"=>$request->getParameter("telefonobancoextranjero"),
                "paisbancoextranjero"=>$request->getParameter("paisbancoextranjero"),
                "direccionbancoe"=>$request->getParameter("direccionbancoe"),
                "nombrebancointermediario"=>$request->getParameter("nombrebancointermediario"),
                "cuentabancointermediario"=>$request->getParameter("cuentabancointermediario"),
                "paisbancointermediario"=>$request->getParameter("paisbancointermediario"),

      );

      $servicioProveedores->editarInformacionBancariaExtranjera($nombreSession, $arrayParametro);
      $this->nombreSession=$nombreSession;
      
  }



    



   public function executeProveedores(sfWebRequest $request)
   {
       
       
   }





  /*Eliminamos el Detalle de las Escalas*/

 public function executeEliminarEscalaDetalle(sfWebRequest $request){

      $nombreSession= $request->getParameter('nombreSession',"s_sesionEscala");
      $request->setRequestFormat('json');
      $servicioProveedor= new proveedorClass();
      $idDetalle  = $request->getParameter("id");
      $this->respuesta=$servicioProveedor->eliminarEscalaDetalle($nombreSession, $idDetalle);
  }

   public function executeEliminarEscalaEditar(sfWebRequest $request)
   {
      $nombreSession= $request->getParameter('nombreSession',"s_sesionEscalaEditar");
      $request->setRequestFormat('json');
      $servicioProveedor= new proveedorClass();
      $idDetalle  = $request->getParameter("id");
      $this->respuesta=$servicioProveedor->eliminarEscalaDetalleEditar($nombreSession, $idDetalle);
   }
   
  public function executeEliminarInformacionBancariaExtranjeraDetalle(sfWebRequest $request)
  {

      $nombreSession=$request->getParameter('nombreSession',"s_sessionCuentaBancariaExtranjera");
      $request->setRequestFormat('json');
      $servicioProveedor= new proveedorClass();
      $idDetalle  = $request->getParameter("id");
      $this->respuesta=$servicioProveedor->eliminarInformacionBancariaExtranjeraDetalle($nombreSession,$idDetalle);
  }
  
  public function executeEliminarInformacionBancariaExtranjeraEdit(sfWebRequest $request)
  {
      $nombreSession= $request->getParameter('nombreSession',"s_sesionDetalleInfoBancariaExtrajeraEdit");
      $request->setRequestFormat('json');
      $servicioProveedor= new proveedorClass();
      $idDetalle  = $request->getParameter("id");
      $this->respuesta=$servicioProveedor->eliminarInformacionBancariaExtranjeraEdit($nombreSession, $idDetalle);
  }



   public function executeEliminarMediosEditar(sfWebRequest $request)
   {
      $nombreSession= $request->getParameter('nombreSession',"s_sesionMedioEditar");
      $request->setRequestFormat('json');
      $servicioProveedor= new proveedorClass();
      $idDetalle  = $request->getParameter("id");
      $this->respuesta=$servicioProveedor->eliminarMediosDetalleEditar($nombreSession, $idDetalle);

   }


public function executeEditarEscalaDetalle(sfWebRequest $request){

    $nombreSession=$request->getParameter('nombreSession',"s_sesionEscala");
    $request->setRequestFormat('json');
    $servicioProveedor = new proveedorClass();
    $arrayParametro= array(
        "idDetalle"=>$request->getParameter("id"),
        "primeraescala"=>$request->getParameter("primeraescala"),
        "segundaescala"=>$request->getParameter("segundaescala"),
        "porcentajeescala"=>$request->getParameter("porcentajeescala"),


    );

   $this->respuesta=$servicioProveedor->editarEscalaDetalle($nombreSession,$arrayParametro);

}



public function executeEliminarMediosDetalle(sfWebRequest $request)
{

     $nombreSession= $request->getParameter('nombreSession',"s_agregarMedios");
           $request->setRequestFormat('json');
      $servicioProveedor= new proveedorClass();
      $idDetalle  = $request->getParameter("id");
      $this->respuesta=$servicioProveedor->eliminarMediosDetalle($nombreSession, $idDetalle);

}

public function executeEditarMediosDetalle(sfWebRequest $request)
{
    $nombreSession=$request->getParameter('nombreSession',"s_agregarMedios");
    $request->setRequestFormat('json');
    $servicioProveedor = new proveedorClass();
    $arrayParametro= array(
        "idDetalle"=>$request->getParameter("id"),
        "nombreMedios"=>$request->getParameter("nombreMedio"),
    );
   $this->respuesta= $servicioProveedor->editarMediosDetalle($nombreSession,$arrayParametro);


}

public function executeVisualizarInformacionBancariaExtranjeraDetalle(sfWebRequest $request)
{

     $nombreSession=$request->getParameter('nombreSession',"s_sessionCuentaBancariaExtranjera");
     $servicioProveedor= new proveedorClass();
     $request->setRequestFormat('json');
     $id=$request->getParameter("id");
    $respuesta =  $servicioProveedor->buscarCuentaBancariaExtranjera($nombreSession,$id);
         



     $this->respuesta=$respuesta['success'];
     $this->id=$id;
     $this->nombrebeneficiario=$respuesta['nombrebeneficiario'];
     $this->cuentabeneficiario=$respuesta['cuentabeneficiario'];
     $this->paisbancoextranjero=$respuesta['paisbancoextranjero'];
     $this->swif=$respuesta['swif'];
     $this->abba=$respuesta['abba'];
     $this->telefonobancoextranjero=$respuesta['telefonobancoextranjero'];
     $this->direccionbancoe=$respuesta['direccionbancoe'];
     $this->nombrebancointermediario=$respuesta['nombrebancointermediario'];
     $this->cuentabancointermediario=$respuesta['cuentabancointermediario'];
     $this->paisbancointermediario=$respuesta['paisbancointermediario'];


}



/*---INGRESAMOS LOS PROVEEDORES */

public function  executeIngresarProveedor(sfWebRequest $request)
{
         $this->forward404Unless($request->isMethod('post'));

         $servicioProveedor= new proveedorClass();

         $arrayParametros= array(

             "razon"     =>$request->getParameter("razon"),
             "ruc"       =>$request->getParameter("ruc"),
             "direccion" =>$request->getParameter("direccion"),
             "telefono"  =>$request->getParameter("telefono"),
             "regimen"   =>$request->getParameter("regimen"),
             "rebate"    =>$request->getParameter("rebate"),
             "tipoBanco"    =>$request->getParameter("rd"),
             "diaspagaproveedor" =>$request->getParameter("diaspagaproveedor"),             
             "cuentadetraccion"  =>$request->getParameter("cuentadetraccion"),
             "observacionesp"    =>$request->getParameter("observacionesp"),

         );

        $respuesta=  $servicioProveedor->ingresarProveedor($arrayParametros);
        if($respuesta['success'])
         {
             $this->getUser()->setFlash('sf_mensajeProveedor', true);
         }
         else
         {
             $this->getUser()->setFlash('sf_mensajeProveedor', $respuesta);
         }
        $this->redirect('@proveedor');

}

public function executeEditarProveedor(sfWebRequest $request)
{

         $this->forward404Unless($request->isMethod('post'));
         $servicioProveedor= new proveedorClass();
         $arrayParametros= array(

             "idProveedor"=> $request->getParameter("idProveedor"),
             "razon"      => $request->getParameter("razon"),
             "ruc"        => $request->getParameter("ruc"),
             "direccion"  => $request->getParameter("direccion"),
             "telefono"   => $request->getParameter("telefono"),
             "regimen"    => $request->getParameter("regimen"),
             "rebate"     => $request->getParameter("rebate"),
             "tipoBanco"    => $request->getParameter("rd"),
             "diaspagaproveedor"=> $request->getParameter("diaspagaproveedor"),
             "cuentadetraccion"  => $request->getParameter("cuentadetraccion"),
             "observacionesp"    => $request->getParameter("observacionesp"),
             "estado"            => $request->getParameter("estado"),

         );
      $respuesta= $servicioProveedor->editarProveedor($arrayParametros);
      if($respuesta['success'])
      {
          $this->getUser()->setFlash('sf_mensajeProveedor', $respuesta);
      }
      $this->getUser()->setFlash('sf_mensajeProveedor', $respuesta);
      
      $this->redirect('@viewProveedor?idProveedor='.$request->getParameter('idProveedor'));
}      

public function executeViewProveedor(sfWebRequest $request)
{

        $servicioProveedor = new proveedorClass();
        $idProveedor       = $request->getParameter('idProveedor');
        $respuesta     = $servicioProveedor->obtenerProveedor($idProveedor);
        if($respuesta['success'])
        {
            $this->proveedorBean = $respuesta['objecto'];
            return sfView::SUCCESS;
        }
        return sfView::ERROR;
}


public function executeEliminarProveedor(sfWebRequest $request)
{
       $iProveedor       = $request->getParameter('idProveedor');
       $servicioProveedor = new proveedorClass();
       $servicioProveedor->deleteProveedor($iProveedor);
       $this->redirect('@listProveedor');

    
}

public function executeViewProveedorReadonly(sfWebRequest $request)
{
    $servicioProveedor= new proveedorClass();
    $idProveedor=$request->getParameter('idProveedor');
    $respuesta=$servicioProveedor->obtenerProveedor($idProveedor);
    if($respuesta['success'])
        {
            $this->proveedorBean=$respuesta['objecto'];
            return sfView::SUCCESS;

        }
    return  sfView::ERROR;
    



}

/**************************Inicio Metodo Detalle Contacto**************************/
 public function  executeAgregarDetalleContacto(sfWebRequest $request)
 {
      $nombreSession       =  $request->getParameter('sessionName',"s_sesionDetalleContacto");
      $servicioProveedores = new proveedorClass();
      $arrayParametro      = array(
                                "nombre"   => $request->getParameter("nombre"),
                                "email"    => $request->getParameter("email"),
                                "telefono" => $request->getParameter("telefono"),
      );     
      $servicioProveedores->agregarDetalleContacto($nombreSession, $arrayParametro);
      $this->nombreSession=$nombreSession;
  }
  
 public function  executeEditarDetalleContacto(sfWebRequest $request)
 {
      $request->setRequestFormat('json');
      $nombreSession       =  $request->getParameter('sessionName',"s_sesionDetalleContacto");
      $servicioProveedores = new proveedorClass();      
      $arrayParametro      = array(
                                "idDetalle" => $request->getParameter("id"),
                                "nombre"   => $request->getParameter("nombre"),
                                "email"    => $request->getParameter("email"),
                                "telefono" => $request->getParameter("telefono"),
      );     
      $this->respuesta   = $servicioProveedores->editarDetalleContacto($nombreSession, $arrayParametro);     
 }
 
 public function  executeEliminarDetalleContacto(sfWebRequest $request)
 {
      $request->setRequestFormat('json');
      $nombreSession       = $request->getParameter('sessionName',"s_sesionDetalleContacto");
      $idDetalle           = $request->getParameter("id");
      $servicioProveedores = new proveedorClass();      
      $this->respuesta     = $servicioProveedores->eliminarDetalleContacto($nombreSession, $idDetalle);
 }  
 
 public function  executeEliminarDetalleContactoEdit(sfWebRequest $request)
 {
      $request->setRequestFormat('json');
      $nombreSession       = $request->getParameter('sessionName',"s_editDetalleContacto");
      $idDetalle           = $request->getParameter("id");
      $servicioProveedores = new proveedorClass();      
      $this->respuesta     = $servicioProveedores->eliminarDetalleContactoEdit($nombreSession, $idDetalle);
 }  
/************************Fin Metodos Detalle Contacto**************************************/




}
